MIME-Version: 1.0 Content-Type: multipart/related; boundary="----=_NextPart_01C470CB.5DEC5D60" This document is a Single File Web Page, also known as a Web Archive file. If you are seeing this message, your browser or editor doesn't support Web Archive files. Please download a browser that supports Web Archive, such as Microsoft Internet Explorer. ------=_NextPart_01C470CB.5DEC5D60 Content-Location: file:///C:/0D7C5513/Controlstructures.htm Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset="us-ascii" Control structures

This presentation contains content that your browser may not be able to = show properly. This presentation was optimized for more recent versions of Micro= soft Internet Explorer.

If you would like to proceed anyway, click here.

------=_NextPart_01C470CB.5DEC5D60 Content-Location: file:///C:/0D7C5513/Controlstructures_files/master04.htm Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset="us-ascii"
Click to edit Master title style
Click to edit Master text styles
Second level
Third level
Fourth level
Fifth level
‹date/time›=
‹footer›
‹#›
------=_NextPart_01C470CB.5DEC5D60 Content-Location: file:///C:/0D7C5513/Controlstructures_files/master04.xml Content-Transfer-Encoding: quoted-printable Content-Type: text/xml; charset="utf-8" ------=_NextPart_01C470CB.5DEC5D60 Content-Location: file:///C:/0D7C5513/Controlstructures_files/preview.wmf Content-Transfer-Encoding: base64 Content-Type: image/x-wmf AQAJAAADiQMAAAcATgAAAAAABAAAAAMBCAAFAAAACwIAAAAABQAAAAwCeQChAAMAAAAeAAcAAAD8 AgAA////AAAABAAAAC0BAAAIAAAA+gIFAAAAAAD///8ABAAAAC0BAQAOAAAAJAMFAP///////3gA oAB4AKAA////////CAAAAPoCAAAAAAAAAAAAAAQAAAAtAQIABwAAAPwCAAD///8AAAAEAAAALQED AAQAAAAnAf//BAAAAPABAAADAAAAHgAHAAAA/AIAADNmZgAAAAQAAAAtAQAABAAAAAYBAQAEAAAA LQEBAE4AAAAkAyUACwAGAAoABgAIAAcABwAIAAYACQAFAAoABAALAAQADAAEAA4ABABhAAQAYwAE AGQABQBlAAYAZwAHAGgACABoAAoAaQALAGkAlABpAJUAaQCXAGgAmABoAJkAZwCaAGUAmwBkAJsA YwCcAGEAnAAOAJsADACbAAsAmgAKAJkACQCYAAgAlwAHAJUABgCUAAYACwAGAAQAAAAtAQIABAAA AAYBAQAEAAAALQEDAAQAAAAnAf//BAAAAPABAAADAAAAHgAHAAAA/AIAAP///wAAAAQAAAAtAQAA BAAAAAYBAQAEAAAALQEBADoAAAAkAxsACwAIAAoACAAJAAkABwAKAAYADAAFAA0ABQAOAAUAVQAF AFcABgBYAAcAWgAJAFsACwBcAJMAXACVAFsAlwBaAJgAWACZAFcAmQBVAJkADgCZAA0AmAAMAJcA CgCVAAkAlAAIAJMACAALAAgABAAAAC0BAgAEAAAABgEBAAQAAAAtAQMABAAAACcB//8DAAAAHgAE AAAALQEAAAQAAAAGAQEABAAAAC0BAQA+AAAAJAMdAB4AOgAdADoAHAA7ABkAPAAYAD4AGAA/ABgA QQAYAFsAGABdABgAXgAZAGAAHABhAB0AYgAeAGIAgQBiAIIAYgCDAGEAhgBgAIcAXgCHAF0AiABb AIgAQQCHAD8AhwA+AIYAPACDADsAggA6AIEAOgAeADoABAAAAC0BAgAEAAAABgEBAAQAAAAtAQMA CAAAAPoCAAABAAAAzMyZAAQAAAAtAQQABwAAAPwCAQAAAAAAAAAEAAAALQEFAD4AAAAlAx0AHgA6 AB0AOgAcADsAGQA8ABgAPgAYAD8AGABBABgAWwAYAF0AGABeABkAYAAcAGEAHQBiAB4AYgCBAGIA ggBiAIMAYQCGAGAAhwBeAIcAXQCIAFsAiABBAIcAPwCHAD4AhgA8AIMAOwCCADoAgQA6AB4AOgAE AAAALQECAAQAAAAtAQMABAAAAPABBAAEAAAAJwH//xwAAAD7Avf/AAAAAAAAkAEBAAAAAEAAIkFy aWFsIEJsYWNrAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAC0BBAAEAAAALgEYAAQAAAACAQEABQAA AAkCM2ZmAiQAAAAyCiYAIwATAAAAQ29udHJvbCBzdHJ1Y3R1cmVzIHQHAAYABgAEAAQABgADAAMA BQAEAAQABgAGAAQABwAEAAYABQADAAQAAAAuAQAAHAAAAPsCEAAHAAAAAAC8AgAAAAABAgIiU3lz dGVtAAAAAAAAAAAAABgAAAACAAAAiDoVAOQEAAAEAAAALQEGAAQAAADwAQQAHAAAAPsC+f8AAAAA AACQAQAAAAAAQAAAQXJpYWwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAALQEEAAQAAAAu ARgABAAAAAIBAQAFAAAACQIAAAACMQAAADIKSQAkABwAAABIb3QgdG8gdHJhbnNsYXRlIGhpZ2gg bGV2ZWwgBQAEAAIAAgACAAQAAgACAAIABAAEAAQAAgAEAAIABAACAAQAAgAEAAQAAgACAAQAAwAE AAIAAwAEAAAALgEAAAQAAAAtAQYABAAAAPABBAAcAAAA+wL5/wAAAAAAAJABAAAAAABAAABBcmlh bAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAtAQQABAAAAC4BGAAEAAAAAgEBAAUAAAAJ AgAAAAIoAAAAMgpRAC0AFgAAAGNvbnRyb2wgc3RydWN0dXJlcyB0byAEAAQABAACAAIABAACAAIA BAACAAIABAAEAAIABAACAAQABAACAAIABAACAAQAAAAuAQAABAAAAC0BBgAEAAAA8AEEABwAAAD7 Avn/AAAAAAAAkAEAAAAAAEAAAEFyaWFsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAC0B BAAEAAAALgEYAAQAAAACAQEABQAAAAkCAAAAAhUAAAAyCloAPAAJAAAAYXNzZW1ibGVyAAQABAAE AAQABgAEAAIABAACAAQAAAAuAQAABAAAAC0BBgAEAAAA8AEEAAMAAAAAAA== ------=_NextPart_01C470CB.5DEC5D60 Content-Location: file:///C:/0D7C5513/Controlstructures_files/master05.htm Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset="us-ascii"
Click to edit Master title style
Click to edit Master subtitle styl= e
‹date/time›=
‹footer›
‹#›
------=_NextPart_01C470CB.5DEC5D60 Content-Location: file:///C:/0D7C5513/Controlstructures_files/master05.xml Content-Transfer-Encoding: quoted-printable Content-Type: text/xml; charset="utf-8" ------=_NextPart_01C470CB.5DEC5D60 Content-Location: file:///C:/0D7C5513/Controlstructures_files/pres.xml Content-Transfer-Encoding: quoted-printable Content-Type: text/xml; charset="utf-8" ------=_NextPart_01C470CB.5DEC5D60 Content-Location: file:///C:/0D7C5513/Controlstructures_files/slide0001.htm Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset="us-ascii" Control structures
Control structures
Hot to translate high leve= l control structures to assembler
------=_NextPart_01C470CB.5DEC5D60 Content-Location: file:///C:/0D7C5513/Controlstructures_files/master05_image001.gif Content-Transfer-Encoding: base64 Content-Type: image/gif R0lGODlh/QFLAXcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALAAAAAD8 AUkBgAAAADNmZgL/hI+pF+0Po5y02ouz3rz7D4biSJbmiZLLyrZsCsfyTNf2jef63ri+zwsKh8Si 8YhMBn5MhvIJjUqn1Kqp6bJqt9yu91vDLsDksvmM3ooR6bb7DY+j1vK6/Y63N/P8vv9PxQQ4SFho OPNzqLjI2GiR5RgpOTn4QnmJmfm2otnp+ak1BjpKWkqkYJqquhqTwPoKG9vBJltre7vkhLvLW6rb CxycaSBcbBxJfKy8XAnA/Ax9lxxNXX02bZ2tvc3d7f0NHi4+Tl5ufo6err7O3u7+Dh8vP09fb3+P n6+/z9/v/w8woMCBBAsaPIgwocKFDBs6fAgxosSJFCtavIgxo8aN/xw7evwIMqTIkSRLmjyJMqXK lSxbunwJM6bMmTRr2ryJM6fOnTx7+vwJNKjQoUSLGj2KNKnSpUybOn0KNarUqVSrWr2KNavWrVy7 ev0KNqzYsWTLmj2LNq3atWzbun0LN67cuXTr2r2LN6/evXz7+v0LOLDgwYQLGz6MOLHixYwbO34M ObLkyZQrW76MObPmzZw7e/4MOrTo0aRLmz6NOrXq1axbu34NO7bs2bRr276NO7fu3bx7+/4NPLjw 4cSLGz+OPLny5cybO38OPbr06dSrW7+OPbv27dy7e/8OPrz48eTLmz+PPr369ezbu38PP778+fTr 27+PP7/+/fz7+9b/D2CAAg5IYIEGHohgggouyGCDDj4IYYQSTkhhhRZeiGGGGm7IYYcefghiiCKO SGKJJp6IYooqrshiiy6+CGOMMs5IY4023ohjjjruyGOPPv4IZJBCDklkkUYeiWSSSi7JZJNOPgll lFJOSWWVVl6JZZZabslll15+CWaYYo5JZplmnolmmmquyWabbh7kDJBx+ogNj3XueKeOeeb4C557 2kiLnYHy6YqfheLICaGiAGoJo43OmAikgsQoBoxrzLnipX2WqOmhnHaKyoigQsLhqFhg2GkBADs= ------=_NextPart_01C470CB.5DEC5D60 Content-Location: file:///C:/0D7C5513/Controlstructures_files/master05_image002.gif Content-Transfer-Encoding: base64 Content-Type: image/gif R0lGODlh7gEvAXcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALAAAAADt AS0BgQAAAMzMmf///wECAwL/hI8py+0Po5y02ouz3rz7D4biSJZmmaTqCpzuC8fyTNf2jecCyx/6 DwwKh8SisdhbHZfMpvMJjbqSCKn1is1qtzUq9wsOi8fZHvmMTqvXJxb7DY/L2e65/Y7PM1X6vv8P +JISSFhoeAihgLjI2HhX5RgpORnmQ3mJmelkoNnp+YnDCTpKWhrSYpqquiqByvoKW+oaS1tre4ub q7vL2+v7CxwsPExcbHyMnKy8zNzs/AwdLT1NXW19jZ2tvc3d7f0NHi4+Tl5ufo6err7O3u7+Dh8v P09fb3+Pn6+/z9/v/w8woMCBBAsaPIgwocKFDBs6fAgxosSJFCtavIgxo8aN/xw7evwIMqTIkSRL mjyJMqXKlSxbunwJM6bMmTRr2ryJM6fOnTx7+vwJNKjQoUSLGj2KNKnSpUybOn0KNarUqVSrWr2K NavWrVy7ev0KNqzYsWTLmj2LNq3atWzbun0LN67cuXTr2r2LN6/evXz7+v0LOLDgwYQLGz6MOLHi xYwbO34MObLkyZQrW76MObPmzZw7e/4MOrTo0aRLmz6NOrXq1axbu34NO7bs2bRr276NO7fu3bx7 +/4NPLjw4cRxBTiOPLny5cybO38OPbr06dSrW7+OPbv27dy7e3f+7Lv48eTLmz+PPr369ciRsX8P P778+fTrex8GXnB+X8wX9//npVxkAeqSXGUD1nIgZQnCUiBmC67SoGbtMTjhZhGqcqGFFaayYWcd kpKhh8dhOKJoH35yomcparIiZy1i8qKEJY4So4YBgDgjaTVGsmNmPTby42VBLjKkgTl6UqSCR3aS 5GRNFvKkgEuyOCVoUQZy5WNZ/rFlY1328aV/VcI4poplUhKmYmnisSZibdrxpmFxyjEnYXXCcad+ Z06SZ2B9rvHnX4GmMWhfhZ5x6F6JjrFoXo2G8ehdkX4xaV2VbnHpXJlmsWlcnV7x6VuhSjFqW6VC cepaqTqxalqtMvHqWbEeMWtZtRZx61i5DrFrWL0G8etXwf4wbFfF5nDsVsn/3rBsVs3W8OxV0c4w bVXVxnDtVNm+sG1U3Z7w7VPhljBuU+WOcO5S6YawblLtfvDuUfF2MG9R9W5w71D5ZrBvUP1e8O9P AVcwcE8FT3DwTglHsHBODT/w8E0RNzBxTRUvcPFMGWcs08Z72ojjjaZ5LHJpJJ928sgf87iyjy0D +bKQMRM5s5Elo1izkjcjmbOTPUP5s5Q7Mxk0ZCmbXDQgHMd0tI5Jc/m0l1GDObWYQ1N5tZVV57E0 TE2P9qkoT3T9UtizNEG2S2ZHkXZLZp+9RNssdQoJq1snRrcldmf9Wd56w3q3m4F/wAfag8t5OAdK GM63mY3rUEfcids5eQZm/0j+uIuVX+AFrZv7+TkFVIhNhNwrRTp63UKYrlKjqRcObOiCyt7A6zzE njnIOdj+Og6sp5Qn78IPTzwAv6OEXPHKL8+88seflHzz0k9PfQrPmxR99dpvX/z1JWXPffjiJ+E9 SeCPj376B5Qf0vnqvy8++yC5D3/91YfouP36cy9/R/TvD0Dn9U8jyQmgAaU3wIz874AMfB3+HLTA BkqQfAmkSAEniEHePdBnx8mgB223QaNF8IMkRMCDhNbBEqqwByeUWgpXCEMWtBBvF4yhDVXwHxoq 54Y8XMFzQNecHgrRh/YpohGPiMQkKhE6Q2yiDJcIxShKcYpUnI4Trzi6KgxqcYtc7GJ5sKiCAgAA Ow== ------=_NextPart_01C470CB.5DEC5D60 Content-Location: file:///C:/0D7C5513/Controlstructures_files/slide0002.htm Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset="us-ascii" Control structures
If a then b else c<= /i> endif
lNote that if = a then b endif = is a special case of the above= .
<= span style=3D'font-size:71%'>lIn PIC assembl= er this takes the general form:
l   Assume a is a bit flag in a register
<= span style=3D'font-size:71%'>1. btfss a   ; if a then skip next instr=
<= span style=3D'font-family:"Courier New";font-size:71%'>2. goto l1=    ; if a false goto l1
<= span style=3D'font-family:"Courier New";font-size:71%'>3.   ;code = to do b
<= span style=3D'font-family:"Courier New";font-size:71%'>4. goto l2=
<= span style=3D'font-family:"Courier New";font-size:71%'>5.l1
<= span style=3D'font-family:"Courier New";font-size:71%'>6. ;code t= o do c
<= span style=3D'font-family:"Courier New";font-size:71%'>7.l2
------=_NextPart_01C470CB.5DEC5D60 Content-Location: file:///C:/0D7C5513/Controlstructures_files/master04_image003.gif Content-Transfer-Encoding: base64 Content-Type: image/gif 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 QgEAADs= ------=_NextPart_01C470CB.5DEC5D60 Content-Location: file:///C:/0D7C5513/Controlstructures_files/slide0003.htm Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset="us-ascii" Control structures
while a do b endwhile<= span style=3D'mso-special-format:lastCR;display:none'>
lOn a PIC you do the following
1.l1        = ;     ; start label
2. btfss a    ; test condition a= 3;
3. goto l2    ; if a is false we go= to end
4.  ; code for action b
5. goto l1   ; try again
6.l2        = ;    ; end while label
1.
------=_NextPart_01C470CB.5DEC5D60 Content-Location: file:///C:/0D7C5513/Controlstructures_files/slide0004.htm Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset="us-ascii" Control structures
Repeat loop
<= span class=3DHBB style=3D'position:absolute;left:-10.52%;top:.39em'>l= High Level Code
lRepeat
l       A&#= 13;
lUntil b;
lAssembler
1.Startlabel
2.  ; code for A
3.  btfss b ; test b
4.  goto exitlabel
5.  goto startlabel
6.exitlabel
------=_NextPart_01C470CB.5DEC5D60 Content-Location: file:///C:/0D7C5513/Controlstructures_files/slide0005.htm Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset="us-ascii" Control structures
For Loops
<= span class=3DBB style=3D'position:absolute;left:-4.76%;top:.39em'>lFo= r i:=3D20 downto 1 do A
l      Movlw 20<= span style=3D'mso-spacerun:yes'>   ; set i:=3D20
l      Movwf reg= i
lStartlabel
l   ; code for A
l   DECFSZ regi,1 ; decrement s= kip zero
l   goto startlabel   ; repeat if >0
l
------=_NextPart_01C470CB.5DEC5D60 Content-Location: file:///C:/0D7C5513/Controlstructures_files/slide0006.htm Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset="us-ascii" Control structures
Upward for loops
lFor i:=3D1 to 10 do A
l      Movlw 10<= span style=3D'mso-spacerun:yes'>   ; set count:=3D10
l      Movwf count
l      clrf regi=       ; initial= ise i  to 0
lStartlabel
l incf regi,1     ; increment I, = thus =3D1 first time
l   ; code for A
l   DECFSZ count,1 ; decrement = skip zero
l   goto startlabel   ; repeat if >0
l
------=_NextPart_01C470CB.5DEC5D60 Content-Location: file:///C:/0D7C5513/Controlstructures_files/slide0007.htm Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset="us-ascii" Control structures
Switch statement
lThis is explaine= d in the last lecture on state machines.
------=_NextPart_01C470CB.5DEC5D60 Content-Location: file:///C:/0D7C5513/Controlstructures_files/slide0008.htm Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset="us-ascii" Control structures
Call subroutine
lA simple paramet= er-less subroutine can be done as follows
<= span class=3DHBB style=3D'position:absolute;left:-10.52%;top:.39em'>lFoo= ()
<= span style=3D'visibility:hidden'>l =
lCall foo
<= span style=3D'visibility:hidden'>l
lFoo
l   ; code for foo
l   return
------=_NextPart_01C470CB.5DEC5D60 Content-Location: file:///C:/0D7C5513/Controlstructures_files/slide0009.htm Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset="us-ascii" Control structures
Subroutines with parameters =
lIn assembler one normally writes routines to pass parameters in registers, lIf you are calling routines written in High level language from an assembler program on a big CISC processor like a Pentium, then you have to follow the high level language calling <= /span>convention. lOn RISC machines registers are used for parameters even on big processors
------=_NextPart_01C470CB.5DEC5D60 Content-Location: file:///C:/0D7C5513/Controlstructures_files/slide0010.htm Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset="us-ascii" Control structures
Passing Parameters
lSuppose we want = to call a simple function foo which takes 2 byte integer <= span style=3D'position:absolute;top:42.5%;left:13.1%;width:85.76%;height:6.75%'= >parameters. Suppose that it just adds the two bytes for now.
<= span class=3DBB style=3D'position:absolute;left:-4.76%;top:.39em'>lWe wa= nt the effect of calling
<= span class=3DBB style=3D'position:absolute;left:-4.76%;top:.39em'>l foo(1,2)
<= span style=3D'visibility:hidden'>l =
------=_NextPart_01C470CB.5DEC5D60 Content-Location: file:///C:/0D7C5513/Controlstructures_files/slide0011.htm Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset="us-ascii" Control structures
Register passing of params =
lSuppo= se the C definition of foo was
<= span class=3DBB style=3D'position:absolute;left:-4.76%;top:.39em'>lfoo(c= har a, char b){ return a+b;}
lWe ma= y choose to pass parameter a in the W register and assign another register ( say 7f ) to pass B in.
------=_NextPart_01C470CB.5DEC5D60 Content-Location: file:///C:/0D7C5513/Controlstructures_files/slide0012.htm Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset="us-ascii" Control structures
Example call code
l;  foo(1,2);
l        MOVLW   02    ; w:=3D2
l        MOVWF   07Fh; reg7f:=3Dw
l        MOVLW   0x01  ; w:=3D1
l        CALL    foo<= span lang=3DEN-US style=3D'mso-special-format:lastCR;display:none'> =
------=_NextPart_01C470CB.5DEC5D60 Content-Location: file:///C:/0D7C5513/Controlstructures_files/slide0013.htm Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset="us-ascii" Control structures
Called code
l;  char foo(char a, char b)
l;         { return (char)(a+b);}
l foo = ;
l        ADDWF   07fh,W= 3;
l        RETURN
lOn en= try a is in W and b is in reg7f, we return the result in W
------=_NextPart_01C470CB.5DEC5D60 Content-Location: file:///C:/0D7C5513/Controlstructures_files/slide0014.htm Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset="us-ascii" Control structures
Nested calls
lIf foo were to call another routine then the w and 7f registers would be corrupted, thus you need to save the parameters in other registers at the start of foo
lfoo
l        MOVWF   24h     ; save w in reg 24
l        MOVF      07Fh,W
l        MOVWF   25h     ; save reg7f in reg25
l       ; r= est of code for foo
------=_NextPart_01C470CB.5DEC5D60 Content-Location: file:///C:/0D7C5513/Controlstructures_files/master04_stylesheet.css Content-Transfer-Encoding: base64 Content-Type: text/css Ym9keQ0KCXt3aWR0aDo1MzRweDsNCgloZWlnaHQ6NDAwcHg7fQ0KLlRCDQoJe21zby1zcGVjaWFs LWZvcm1hdDpub2J1bGxldFwyMDIyO30NCi5UDQoJe3RleHQtYWxpZ246bGVmdDsNCglmb250LWZh bWlseToiQXJpYWwgQmxhY2siOw0KCWNvbG9yOiMzMzY2NjY7DQoJbXNvLWNvbG9yLWluZGV4OjM7 DQoJZm9udC1zaXplOjE1NyU7DQoJbXNvLWNoYXItd3JhcDoxOw0KCW1zby1raW5zb2t1LW92ZXJm bG93OjE7fQ0KLkJCDQoJe21zby1zcGVjaWFsLWZvcm1hdDpidWxsZXRsOw0KCWNvbG9yOiNDQ0ND OTk7DQoJbXNvLWNvbG9yLWluZGV4OjI7DQoJZm9udC1mYW1pbHk6V2luZ2RpbmdzOw0KCWZvbnQt c2l6ZTo3MCU7fQ0KLkINCgl7dGV4dC1hbGlnbjpsZWZ0Ow0KCWZvbnQtZmFtaWx5OkFyaWFsOw0K CWNvbG9yOmJsYWNrOw0KCW1zby1jb2xvci1pbmRleDoxOw0KCWZvbnQtc2l6ZToxNDclOw0KCW1z by1jaGFyLXdyYXA6MTsNCgltc28ta2luc29rdS1vdmVyZmxvdzoxO30NCi5CMUINCgl7bXNvLXNw ZWNpYWwtZm9ybWF0OmJ1bGxldFwyMDIyOw0KCWNvbG9yOiM5N0NEQ0M7DQoJbXNvLWNvbG9yLWlu ZGV4OjQ7DQoJZm9udC1zaXplOjE1MCU7fQ0KLkIxDQoJe3RleHQtYWxpZ246bGVmdDsNCglmb250 LWZhbWlseTpBcmlhbDsNCgljb2xvcjpibGFjazsNCgltc28tY29sb3ItaW5kZXg6MTsNCglmb250 LXNpemU6MTIzJTsNCgltc28tY2hhci13cmFwOjE7DQoJbXNvLWtpbnNva3Utb3ZlcmZsb3c6MTt9 DQouQjJCDQoJe21zby1zcGVjaWFsLWZvcm1hdDpidWxsZXRcMjAyMjsNCgljb2xvcjpibGFjazsN Cgltc28tY29sb3ItaW5kZXg6MTsNCglmb250LXNpemU6MTUwJTt9DQouQjINCgl7dGV4dC1hbGln bjpsZWZ0Ow0KCWZvbnQtZmFtaWx5OkFyaWFsOw0KCWNvbG9yOmJsYWNrOw0KCW1zby1jb2xvci1p bmRleDoxOw0KCWZvbnQtc2l6ZToxMDQlOw0KCW1zby1jaGFyLXdyYXA6MTsNCgltc28ta2luc29r dS1vdmVyZmxvdzoxO30NCi5CM0INCgl7bXNvLXNwZWNpYWwtZm9ybWF0OmJ1bGxldFwyMDIyOw0K CWNvbG9yOiMzMzY2NjY7DQoJbXNvLWNvbG9yLWluZGV4OjM7DQoJZm9udC1zaXplOjE1MCU7fQ0K LkIzDQoJe3RleHQtYWxpZ246bGVmdDsNCglmb250LWZhbWlseTpBcmlhbDsNCgljb2xvcjpibGFj azsNCgltc28tY29sb3ItaW5kZXg6MTsNCglmb250LXNpemU6OTUlOw0KCW1zby1jaGFyLXdyYXA6 MTsNCgltc28ta2luc29rdS1vdmVyZmxvdzoxO30NCi5CNEINCgl7bXNvLXNwZWNpYWwtZm9ybWF0 OmJ1bGxldFwyMDIyOw0KCWNvbG9yOiMzMzY2NjY7DQoJbXNvLWNvbG9yLWluZGV4Ojc7DQoJZm9u dC1zaXplOjE1MCU7fQ0KLkI0DQoJe3RleHQtYWxpZ246bGVmdDsNCglmb250LWZhbWlseTpBcmlh bDsNCgljb2xvcjpibGFjazsNCgltc28tY29sb3ItaW5kZXg6MTsNCglmb250LXNpemU6OTUlOw0K CW1zby1jaGFyLXdyYXA6MTsNCgltc28ta2luc29rdS1vdmVyZmxvdzoxO30NCi5ODQoJe21zby1j aGFyLXdyYXA6MTsNCgltc28ta2luc29rdS1vdmVyZmxvdzoxO30NCi5OMQ0KCXttc28tY2hhci13 cmFwOjE7DQoJbXNvLWtpbnNva3Utb3ZlcmZsb3c6MTt9DQouTjINCgl7bXNvLWNoYXItd3JhcDox Ow0KCW1zby1raW5zb2t1LW92ZXJmbG93OjE7fQ0KLk4zDQoJe21zby1jaGFyLXdyYXA6MTsNCglt c28ta2luc29rdS1vdmVyZmxvdzoxO30NCi5ONA0KCXttc28tY2hhci13cmFwOjE7DQoJbXNvLWtp bnNva3Utb3ZlcmZsb3c6MTt9DQouT0INCgl7bXNvLXNwZWNpYWwtZm9ybWF0Om5vYnVsbGV0XDIw MjI7fQ0KLk8NCgl7dGV4dC1hbGlnbjpsZWZ0Ow0KCWZvbnQtZmFtaWx5OkFyaWFsOw0KCWNvbG9y OmJsYWNrOw0KCW1zby1jb2xvci1pbmRleDoxOw0KCWZvbnQtc2l6ZTo4NSU7DQoJbXNvLWNoYXIt d3JhcDoxOw0KCW1zby1raW5zb2t1LW92ZXJmbG93OjE7fQ0KLk8xDQoJe21zby1jaGFyLXdyYXA6 MTsNCgltc28ta2luc29rdS1vdmVyZmxvdzoxO30NCi5PMg0KCXttc28tY2hhci13cmFwOjE7DQoJ bXNvLWtpbnNva3Utb3ZlcmZsb3c6MTt9DQouTzMNCgl7bXNvLWNoYXItd3JhcDoxOw0KCW1zby1r aW5zb2t1LW92ZXJmbG93OjE7fQ0KLk80DQoJe21zby1jaGFyLXdyYXA6MTsNCgltc28ta2luc29r dS1vdmVyZmxvdzoxO30NCi5DQkINCgl7bXNvLXNwZWNpYWwtZm9ybWF0Om5vYnVsbGV0bDsNCglj b2xvcjojQ0NDQzk5Ow0KCW1zby1jb2xvci1pbmRleDoyOw0KCWZvbnQtZmFtaWx5OldpbmdkaW5n czsNCglmb250LXNpemU6NzAlO30NCi5DQg0KCXt0ZXh0LWFsaWduOmNlbnRlcjsNCglmb250LWZh bWlseTpBcmlhbDsNCgljb2xvcjpibGFjazsNCgltc28tY29sb3ItaW5kZXg6MTsNCglmb250LXNp emU6MTU3JTsNCgltc28tY2hhci13cmFwOjE7DQoJbXNvLWtpbnNva3Utb3ZlcmZsb3c6MTt9DQou Q0IxQg0KCXttc28tc3BlY2lhbC1mb3JtYXQ6bm9idWxsZXRcMjAyMjsNCgljb2xvcjojOTdDREND Ow0KCW1zby1jb2xvci1pbmRleDo0Ow0KCWZvbnQtc2l6ZToxNTAlO30NCi5DQjENCgl7Zm9udC1z aXplOjEyMyU7DQoJbXNvLWNoYXItd3JhcDoxOw0KCW1zby1raW5zb2t1LW92ZXJmbG93OjE7fQ0K LkNCMkINCgl7bXNvLXNwZWNpYWwtZm9ybWF0Om5vYnVsbGV0XDIwMjI7DQoJY29sb3I6YmxhY2s7 DQoJbXNvLWNvbG9yLWluZGV4OjE7DQoJZm9udC1zaXplOjE1MCU7fQ0KLkNCMg0KCXtmb250LXNp emU6MTA0JTsNCgltc28tY2hhci13cmFwOjE7DQoJbXNvLWtpbnNva3Utb3ZlcmZsb3c6MTt9DQou Q0IzQg0KCXttc28tc3BlY2lhbC1mb3JtYXQ6bm9idWxsZXRcMjAyMjsNCgljb2xvcjojMzM2NjY2 Ow0KCW1zby1jb2xvci1pbmRleDozOw0KCWZvbnQtc2l6ZToxNTAlO30NCi5DQjMNCgl7bXNvLWNo YXItd3JhcDoxOw0KCW1zby1raW5zb2t1LW92ZXJmbG93OjE7fQ0KLkNCNEINCgl7bXNvLXNwZWNp YWwtZm9ybWF0Om5vYnVsbGV0XDIwMjI7DQoJY29sb3I6IzMzNjY2NjsNCgltc28tY29sb3ItaW5k ZXg6NzsNCglmb250LXNpemU6MTUwJTt9DQouQ0I0DQoJe21zby1jaGFyLXdyYXA6MTsNCgltc28t a2luc29rdS1vdmVyZmxvdzoxO30NCi5DVEINCgl7bXNvLXNwZWNpYWwtZm9ybWF0Om5vYnVsbGV0 XDIwMjI7fQ0KLkNUDQoJe3RleHQtYWxpZ246Y2VudGVyOw0KCWZvbnQtZmFtaWx5OiJBcmlhbCBC bGFjayI7DQoJZm9udC1zdHlsZTppdGFsaWM7DQoJY29sb3I6IzMzNjY2NjsNCgltc28tY29sb3It aW5kZXg6MzsNCglmb250LXNpemU6MTk1JTsNCgltc28tY2hhci13cmFwOjE7DQoJbXNvLWtpbnNv a3Utb3ZlcmZsb3c6MTt9DQouSEJCDQoJe21zby1zcGVjaWFsLWZvcm1hdDpidWxsZXRsOw0KCWNv bG9yOiNDQ0NDOTk7DQoJbXNvLWNvbG9yLWluZGV4OjI7DQoJZm9udC1mYW1pbHk6V2luZ2Rpbmdz Ow0KCWZvbnQtc2l6ZTo3MCU7fQ0KLkhCDQoJe3RleHQtYWxpZ246bGVmdDsNCglmb250LWZhbWls eTpBcmlhbDsNCgljb2xvcjpibGFjazsNCgltc28tY29sb3ItaW5kZXg6MTsNCglmb250LXNpemU6 MTI4JTsNCgltc28tY2hhci13cmFwOjE7DQoJbXNvLWtpbnNva3Utb3ZlcmZsb3c6MTt9DQouSEIx Qg0KCXttc28tc3BlY2lhbC1mb3JtYXQ6YnVsbGV0XDIwMjI7DQoJY29sb3I6Izk3Q0RDQzsNCglt c28tY29sb3ItaW5kZXg6NDsNCglmb250LXNpemU6MTUwJTt9DQouSEIxDQoJe2ZvbnQtc2l6ZTox MDQlOw0KCW1zby1jaGFyLXdyYXA6MTsNCgltc28ta2luc29rdS1vdmVyZmxvdzoxO30NCi5IQjJC DQoJe21zby1zcGVjaWFsLWZvcm1hdDpidWxsZXRcMjAyMjsNCgljb2xvcjpibGFjazsNCgltc28t Y29sb3ItaW5kZXg6MTsNCglmb250LXNpemU6MTUwJTt9DQouSEIyDQoJe21zby1jaGFyLXdyYXA6 MTsNCgltc28ta2luc29rdS1vdmVyZmxvdzoxO30NCi5IQjNCDQoJe21zby1zcGVjaWFsLWZvcm1h dDpidWxsZXRcMjAyMjsNCgljb2xvcjojMzM2NjY2Ow0KCW1zby1jb2xvci1pbmRleDozOw0KCWZv bnQtc2l6ZToxNTAlO30NCi5IQjMNCgl7bXNvLWNoYXItd3JhcDoxOw0KCW1zby1raW5zb2t1LW92 ZXJmbG93OjE7fQ0KLkhCNEINCgl7bXNvLXNwZWNpYWwtZm9ybWF0OmJ1bGxldFwyMDIyOw0KCWNv bG9yOiMzMzY2NjY7DQoJbXNvLWNvbG9yLWluZGV4Ojc7DQoJZm9udC1zaXplOjE1MCU7fQ0KLkhC NA0KCXttc28tY2hhci13cmFwOjE7DQoJbXNvLWtpbnNva3Utb3ZlcmZsb3c6MTt9DQouUUJCDQoJ e21zby1zcGVjaWFsLWZvcm1hdDpidWxsZXRsOw0KCWNvbG9yOiNDQ0NDOTk7DQoJbXNvLWNvbG9y LWluZGV4OjI7DQoJZm9udC1mYW1pbHk6V2luZ2RpbmdzOw0KCWZvbnQtc2l6ZTo3MCU7fQ0KLlFC DQoJe21zby1jaGFyLXdyYXA6MTsNCgltc28ta2luc29rdS1vdmVyZmxvdzoxO30NCi5RQjFCDQoJ e21zby1zcGVjaWFsLWZvcm1hdDpidWxsZXRcMjAyMjsNCgljb2xvcjojOTdDRENDOw0KCW1zby1j b2xvci1pbmRleDo0Ow0KCWZvbnQtc2l6ZToxNTAlO30NCi5RQjENCgl7bXNvLWNoYXItd3JhcDox Ow0KCW1zby1raW5zb2t1LW92ZXJmbG93OjE7fQ0KLlFCMkINCgl7bXNvLXNwZWNpYWwtZm9ybWF0 OmJ1bGxldFwyMDIyOw0KCWNvbG9yOmJsYWNrOw0KCW1zby1jb2xvci1pbmRleDoxOw0KCWZvbnQt c2l6ZToxNTAlO30NCi5RQjINCgl7bXNvLWNoYXItd3JhcDoxOw0KCW1zby1raW5zb2t1LW92ZXJm bG93OjE7fQ0KLlFCM0INCgl7bXNvLXNwZWNpYWwtZm9ybWF0OmJ1bGxldFwyMDIyOw0KCWNvbG9y OiMzMzY2NjY7DQoJbXNvLWNvbG9yLWluZGV4OjM7DQoJZm9udC1zaXplOjE1MCU7fQ0KLlFCMw0K CXttc28tY2hhci13cmFwOjE7DQoJbXNvLWtpbnNva3Utb3ZlcmZsb3c6MTt9DQouUUI0Qg0KCXtt c28tc3BlY2lhbC1mb3JtYXQ6YnVsbGV0XDIwMjI7DQoJY29sb3I6IzMzNjY2NjsNCgltc28tY29s b3ItaW5kZXg6NzsNCglmb250LXNpemU6MTUwJTt9DQouUUI0DQoJe21zby1jaGFyLXdyYXA6MTsN Cgltc28ta2luc29rdS1vdmVyZmxvdzoxO30NCi5UYmxCDQoJe21zby1zcGVjaWFsLWZvcm1hdDpu b2J1bGxldGw7DQoJY29sb3I6I0NDQ0M5OTsNCgltc28tY29sb3ItaW5kZXg6MjsNCglmb250LWZh bWlseTpXaW5nZGluZ3M7DQoJZm9udC1zaXplOjcwJTt9DQouVGJsDQoJe2ZvbnQtc2l6ZToxMjgl Ow0KCW1zby1jaGFyLXdyYXA6MTsNCgltc28ta2luc29rdS1vdmVyZmxvdzoxO30NCi5UYmwxQg0K CXttc28tc3BlY2lhbC1mb3JtYXQ6bm9idWxsZXRcMjAyMjsNCgljb2xvcjojOTdDRENDOw0KCW1z by1jb2xvci1pbmRleDo0Ow0KCWZvbnQtc2l6ZToxNTAlO30NCi5UYmwxDQoJe2ZvbnQtc2l6ZTox MDQlOw0KCW1zby1jaGFyLXdyYXA6MTsNCgltc28ta2luc29rdS1vdmVyZmxvdzoxO30NCi5UYmwy Qg0KCXttc28tc3BlY2lhbC1mb3JtYXQ6bm9idWxsZXRcMjAyMjsNCgljb2xvcjpibGFjazsNCglt c28tY29sb3ItaW5kZXg6MTsNCglmb250LXNpemU6MTUwJTt9DQouVGJsMg0KCXttc28tY2hhci13 cmFwOjE7DQoJbXNvLWtpbnNva3Utb3ZlcmZsb3c6MTt9DQouVGJsM0INCgl7bXNvLXNwZWNpYWwt Zm9ybWF0Om5vYnVsbGV0XDIwMjI7DQoJY29sb3I6IzMzNjY2NjsNCgltc28tY29sb3ItaW5kZXg6 MzsNCglmb250LXNpemU6MTUwJTt9DQouVGJsMw0KCXttc28tY2hhci13cmFwOjE7DQoJbXNvLWtp bnNva3Utb3ZlcmZsb3c6MTt9DQouVGJsNEINCgl7bXNvLXNwZWNpYWwtZm9ybWF0Om5vYnVsbGV0 XDIwMjI7DQoJY29sb3I6IzMzNjY2NjsNCgltc28tY29sb3ItaW5kZXg6NzsNCglmb250LXNpemU6 MTUwJTt9DQouVGJsNA0KCXttc28tY2hhci13cmFwOjE7DQoJbXNvLWtpbnNva3Utb3ZlcmZsb3c6 MTt9DQouZGVmYXVsdEINCgl7bXNvLXNwZWNpYWwtZm9ybWF0Om5vYnVsbGV0XDIwMjI7fQ0KLmRl ZmF1bHQNCgl7dGV4dC1hbGlnbjpsZWZ0Ow0KCWZvbnQtZmFtaWx5OkFyaWFsOw0KCWZvbnQtd2Vp Z2h0Om5vcm1hbDsNCglmb250LXN0eWxlOm5vcm1hbDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsN Cgl0ZXh0LXNoYWRvdzpub25lOw0KCXRleHQtZWZmZWN0Om5vbmU7DQoJbXNvLWZhcmVhc3QtaGlu dDpubzsNCglsYXlvdXQtZmxvdzpob3Jpem9udGFsOw0KCWNvbG9yOmJsYWNrOw0KCW1zby1jb2xv ci1pbmRleDoxOw0KCWZvbnQtc2l6ZTo4NSU7DQoJbXNvLXRleHQtcmFpc2U6MCU7DQoJbXNvLWxp bmUtc3BhY2luZzoiMTAwIDAgMCI7DQoJbXNvLW1hcmdpbi1sZWZ0LWFsdDowOw0KCW1zby10ZXh0 LWluZGVudC1hbHQ6MDsNCgltc28tY2hhci13cmFwOjE7DQoJbXNvLWtpbnNva3Utb3ZlcmZsb3c6 MTsNCglkaXJlY3Rpb246bHRyOw0KCW1zby13b3JkLXdyYXA6MTsNCgltc28tdmVydGljYWwtYWxp Z24tc3BlY2lhbDpiYXNlbGluZTsNCgltc28tYW5zaS1sYW5ndWFnZTpFTi1HQjt9DQphOmxpbmsN Cgl7Y29sb3I6Izk5Q0MwMCAhaW1wb3J0YW50O30NCmE6YWN0aXZlDQoJe2NvbG9yOiNENkUwRTAg IWltcG9ydGFudDt9DQphOnZpc2l0ZWQNCgl7Y29sb3I6IzMzNjY2NiAhaW1wb3J0YW50O30NCn== ------=_NextPart_01C470CB.5DEC5D60 Content-Location: file:///C:/0D7C5513/Controlstructures_files/script.js Content-Transfer-Encoding: quoted-printable Content-Type: application/javascript; charset="us-ascii" function LoadSld() { var sld=3DGetObj("SlideObj") if( !g_supportsPPTHTML ) { =09 sld.style.visibility=3D"visible" return } if( MakeNotesVis() ) return runAnimations =3D _InitAnimations(); =09 if( IsWin("PPTSld") ) parent.SldUpdated(GetSldId()) g_origSz=3DparseInt(SlideObj.style.fontSize) g_origH=3Dsld.style.posHeight g_origW=3Dsld.style.posWidth g_scaleHyperlinks=3D(document.all.tags("AREA").length>0) if( g_scaleHyperlinks ) InitHLinkArray() if( g_scaleInFrame||(IsWin("PPTSld") && parent.IsFullScrMode() ) ) document.body.scroll=3D"no" _RSW() if( IsWin("PPTSld") && parent.IsFullScrMode() ) FullScrInit(); =09 MakeSldVis(); ChkAutoAdv() if( runAnimations ) { if( document.all("NSPlay") ) document.all("NSPlay").autoStart =3D false; if( sld.filters && sld.filters.revealtrans ) setTimeout( "document.body.start()", sld.filters.revealtrans.duration * = 1000 ); else document.body.start(); } } function MakeSldVis()=20 { var fTrans=3Dg_showAnimation && SldHasTrans() if( fTrans )=09 { if( g_bgSound ) { idx=3Dg_bgSound.indexOf(","); pptSound.src=3Dg_bgSound.substr( 0, idx ); pptSound.loop=3D -(parseInt(g_bgSound.substr(idx+1))); } SlideObj.filters.revealtrans.Apply()=09 } SlideObj.style.visibility=3D"visible" if( fTrans ) SlideObj.filters.revealtrans.Play() } function MakeNotesVis()=20 { if( !IsNts() ) return false=20 SlideObj.style.display=3D"none" nObj =3D document.all.item("NotesObj") parent.SetHasNts(0) if( nObj ) {=20 nObj.style.display=3D"" parent.SetHasNts(1) } return 1 } function ChkAutoAdv() { if(SldHasTrans()) SlideObj.onfilterchange=3DAutoAdv else AutoAdv() } function AutoAdv() { if(!IsWin("PPTSld") || !gUseSldTimings )return var sld=3DGetCurSld() if( (sld.mAdvDelay>0) && !parent.IsFramesMode() ) setTimeout("parent.GoToNextSld()",sld.mAdvDelay) } function GetObj(id) { if(g_supportsPPTHTML) return document.all(id); else return document.getElementById(id); } function SldHasTrans() { return SlideObj.style.filter !=3D ""; } function GetSldId() { return sId=3Dlocation.href.substring(location.href.la= stIndexOf('/')+1) } function HideMenu() { if( frames["PPTSld"] && PPTSld.document.all.item("ctx= tmenu") && PPTSld.ctxtmenu.style.display!=3D"none" ) { PPTSld.ctxtmenu.styl= e.display=3D'none'; return true } return false } function IsWin( name ) { return window.name =3D=3D name } function IsNts() { return IsWin("PPTNts") } function IsSldOrNts() { return( IsWin("PPTSld")||IsWin("PPTNts") ) } function SupportsPPTAnimation() { return( navigator.platform =3D=3D "Win32"= && navigator.appVersion.indexOf("Windows")>0 ) } function SupportsPPTHTML() { var appVer=3Dnavigator.appVersion, msie=3DappVer.indexOf("MSIE "), ver=3D0 if( msie >=3D 0 ) ver=3DparseFloat( appVer.substring( msie+5, appVer.indexOf(";",msie) ) ) else ver=3DparseInt(appVer) return( ver >=3D 4 && msie >=3D 0 ) } function _RSW() { if( !g_supportsPPTHTML || IsNts() || ( !g_scaleInFrame && (!IsWin("PPTSld") || !parent.IsFullScrMode()) ) ) return var padding=3D0; if( IsWin("PPTSld") && parent.IsFramesMode() ) padding=3D6 cltWidth=3Ddocument.body.clientWidth-padding cltHeight=3Ddocument.body.clientHeight-padding factor=3D(1.0*cltWidth)/g_origW if( cltHeight < g_origH*factor ) factor=3D(1.0*cltHeight)/g_origH newSize =3D g_origSz * factor if( newSize < 1 ) newSize=3D1 s=3DSlideObj.style s.fontSize=3DnewSize+"px" s.posWidth=3Dg_origW*factor s.posHeight=3Dg_origH*factor s.posLeft=3D(cltWidth-s.posWidth+padding)/2 s.posTop=3D(cltHeight-s.posHeight+padding)/2 if( g_scaleHyperlinks ) ScaleHyperlinks( factor ) } function _InitAnimations() { animRuntimeInstalled =3D ''+document.body.localTime !=3D 'undefined'; isFullScreen =3D (window.name =3D=3D "PPTSld") && !parent.IsFramesMode(); g_animUseRuntime =3D g_showAnimation && animRuntimeInstalled && !(isFullSc= reen && parent.IsSldVisited()); if( g_animUseRuntime ) { collSeq =3D document.all.tags("seq"); if( collSeq !=3D null ) { for(ii=3D0;ii numSlds ) gSldJumpIdx =3D numSlds; if ( gSldJumpIdx >=3D 0 ) { if ( gSldJumpIdx =3D=3D 0 ) gSldJumpIdx =3D 1; var jumpTo =3D parseInt(gSldJumpIdx); gSldJump =3D 0; gSldJumpIdx =3D ""; win.GoToSld( parent.GetSldList().mList[jumpTo-1].mSldHref ) } } } function _KDH() { if( event.keyCode =3D=3D 8 ) { event.returnValue =3D 0; parent.GoToPrevSld(); } } function DocumentOnClick() { if( IsNts() || parent.HideMenu() ) return; if( ( g_allowAdvOnClick && !parent.IsFramesMode() ) || (event && (event.keyCode=3D=3D32) ) ) parent.GoToNextSld(); } var g_supportsPPTHTML =3D SupportsPPTHTML(), g_scaleInFrame =3D 1, gId=3D""= , g_bgSound=3D"", g_scaleHyperlinks =3D false, g_allowAdvOnClick =3D 1, g_showInBrowser = =3D 0, gLoopCont =3D 0, gUseSldTimings =3D 1; var g_showAnimation =3D g_supportsPPTHTML && SupportsPPTAnimation() && ( (w= indow.name=3D=3D"PPTSld" && !parent.IsFramesMode()) || g_showInBrowser );va= r g_animManager =3D null; var g_animUseRuntime =3D false; var g_animItemsToHide, g_animInteractiveItems, g_animSlideTime; var g_animMainSequence =3D null; var ENDSHOW_MESG=3D"End of slide show, click to exit.", SCREEN_MODE=3D"Fram= es", gIsEndShow=3D0, NUM_VIS_SLDS=3D14, SCRIPT_HREF=3D"script.js", FULLSCR_= HREF=3D"fullscreen.htm"; var gCurSld =3D gPrevSld =3D 1, g_offset =3D 0, gNtsOpen =3D gHasNts =3D gO= tlTxtExp =3D 0, gHasNarration =3D 0, gOtlOpen =3D true window.gPPTHTML=3DSupportsPPTHTML() var gMainDoc=3Dnew Array(new hrefList("slide0001.htm",1,-1,1),new hrefList(= "slide0002.htm",1,-1,1),new hrefList("slide0003.htm",1,-1,1),new hrefList("= slide0004.htm",1,-1,1),new hrefList("slide0005.htm",1,-1,1),new hrefList("s= lide0006.htm",1,-1,1),new hrefList("slide0007.htm",1,-1,1),new hrefList("sl= ide0008.htm",1,-1,1),new hrefList("slide0009.htm",1,-1,1),new hrefList("sli= de0010.htm",1,-1,1),new hrefList("slide0011.htm",1,-1,1),new hrefList("slid= e0012.htm",1,-1,1),new hrefList("slide0013.htm",1,-1,1),new hrefList("slide= 0014.htm",1,-1,1)); /********************************************* Frameset functions These functions control slide navigation and state of the frameset. **********************************************/ function FullScrInit() { g_allowAdvOnClick =3D GetCurSld().mAdvOnClk document.body.style.backgroundColor=3D"black" document.oncontextmenu=3Dparent._CM; document.onkeydown =3D _KDH; document.ondragstart=3DCancel document.onselectstart=3DCancel self.focus() } function Redirect( frmId ) {=09 var str=3Ddocument.location.hash,idx=3Dstr.indexOf('#'), sId=3DGetSldId() if(idx>=3D0) str=3Dstr.substr(1); if( window.name !=3D frmId && ( sId !=3D str) ) { obj =3D GetObj("Main-File") window.location.href=3Dobj.href+"#"+sId return 1 } return 0 } var MHTMLPrefix =3D CalculateMHTMLPrefix();=20 function CalculateMHTMLPrefix() { if ( document.location.protocol =3D=3D 'mhtml:') {=20 href=3Dnew String(document.location.href)=20 Start=3Dhref.indexOf('!')+1=20 End=3Dhref.lastIndexOf('/')+1=20 if (End < Start)=20 return href.substring(0, Start)=20 else=20 return href.substring(0, End)=20 } return ''; } function GetTags(base,tag) { if(g_supportsPPTHTML) return base.all.tags(tag); else return base.getElementsByTagName(tag); } function UpdNtsPane(){ if(frames["PPTNts"]) PPTNts.location.replace( MHTMLP= refix+GetHrefObj( gCurSld ).mNtsHref ) } function UpdNavPane( sldIndex ){ if(gNavLoaded) PPTNav.UpdNav() } function UpdOtNavPane(){ if(gOtlNavLoaded) PPTOtlNav.UpdOtlNav() } function UpdOtlPane(){ if(gOtlLoaded) PPTOtl.UpdOtl() } function SetHasNts( fVal ) { if( gHasNts !=3D fVal ) { gHasNts=3DfVal UpdNavPane() } } function ToggleOtlText() { gOtlTxtExp=3D!gOtlTxtExp UpdOtlPane() } function ClearMedia() { // Clear any sounds playing before launching another browser window. Other= wise, // in fullscreen mode, you'll continue to hear the sound in the frames mod= e. if (PPTSld.pptSound) PPTSld.pptSound.loop =3D 0; } function FullScreen() {=20 if ( PPTSld.g_animUseRuntime ) PPTSld.document.body.pause(); ClearMedia(); var href =3D ( document.location.protocol =3D=3D 'mhtml:') ? FULLSCR_HREF = : FULLSCR_HREF+"#"+GetHrefObj(gCurSld).mSldHref; if(PPTNav.event.ctrlKey) { var w =3D (window.screen.availWidth * 1.0) / 2.0 var h =3D w * (PPTSld.g_origH * 1.0) / PPTSld.g_origW win =3D window.open( MHTMLPrefix+href,null,"toolbar=3D0,resizable=3D1,top= =3D0,left=3D0," + "width=3D"+ w + ",height=3D" + h ); if( win.document.body && PPTSld.g_animUseRuntime ) win.document.body.PPTSldFrameset=3Dwindow; } else { win =3D window.open( MHTMLPrefix+href,null,"fullscreen=3Dyes" ); if( win.document.body && PPTSld.g_animUseRuntime ) win.document.body.PPTSldFrameset=3Dwindow; } } function ToggleVNarration() { rObj=3DPPTSld.document.all("NSPlay") if( rObj && !PPTSld.g_animUseRuntime ) { if( (rObj.playState =3D=3D 1)||(rObj.playState =3D=3D 0) ) rObj.Play() else if( rObj.playState =3D=3D 2 ) rObj.Pause() else return; } else if( PPTSld.g_animUseRuntime ) { narObj =3D PPTSld.document.all("narrationID") if( narObj ) narObj.togglePause() } } function GetCurSldNum() { =20 obj=3DGetHrefObj(gCurSld) if( obj.mOrigVis =3D=3D 1 ) return obj.mSldIdx else =20 return gCurSld } function GetNumSlds() { =20 if( GetHrefObj(gCurSld).mOrigVis =3D=3D 1 ) return GetSldList().mNumVisSlds; else return GetSldList().mList.length } function GetSldNum( href ) { for(ii=3D0; ii 1 ) PopSldList(); else if( !IsFramesMode() ) { if( gLoopCont ) GoToFirst() else EndShow() } } function GoToPrevSld() { ii=3DgCurSld-1 if( ii > 0 ) { obj=3DGetHrefObj(ii) while ( obj && ( obj.mVis =3D=3D 0 ) && ( ii>0 ) ) obj=3DGetHrefObj(--ii) if( ii =3D=3D 0 ) ii=3D1 GoToSldNum(ii) } } function GoToFirst(){ GoToSld( GetHrefObj(1).mSldHref ) } function GoToLast() { ii=3DGetSldList().mList.length if( ii !=3D gCurSld ) GoToSld( GetHrefObj(ii).mSldHref ) } function GoToSldNum( num ) { if( PPTSld.event ) PPTSld.event.cancelBubble=3Dtrue obj =3D GetHrefObj( num ) obj.mVis=3D1 gPrevSld=3DgCurSld gCurSld =3D num; PPTSld.location.replace(MHTMLPrefix+obj.mSldHref) if( IsFramesMode() ) { UpdNavPane(); UpdOtlPane(); UpdNtsPane() } } function GoToSld( href ) { if( PPTSld.event ) PPTSld.event.cancelBubble=3Dtrue GetHrefObj( GetSldNum(href) ).mVis=3D1 PPTSld.location.replace(MHTMLPrefix+href) } function SldUpdated( id ) { if( id =3D=3D GetHrefObj(gCurSld).mSldHref ) return gPrevSld=3DgCurSld gCurSld=3DGetSldNum(id) if( IsFramesMode() ) { UpdNavPane(); UpdOtlPane(); UpdNtsPane() } } function PrevSldViewed(){ GoToSld( GetHrefObj(gPrevSld).mSldHref ) } function HasPrevSld() { return ( gIsEndShow || ( gCurSld !=3D 1 && GetHrefO= bj( gCurSld-1 ).mVis =3D=3D 1 )||( GetCurSldNum() > 1 ) ) } function HasNextSld() { return (GetCurSldNum() !=3D GetNumSlds()) } function CloseWindow() { if( HideMenu() ) return; =09 var event =3D PPTSld.event; if( !IsFramesMode() && event && (event.keyCode=3D=3D27 || event.keyCode=3D= =3D32 || event.type=3D=3D"click" ) ) window.close( self ); CatchNumKeys( self, event ); } function Unload() { gIsEndShow=3D0; } function SetupEndShow() { gIsEndShow=3D1; PPTSld.document.body.scroll=3D"no"; PPTSld.document.onkeypress=3DCloseWindow; PPTSld.document.onclick=3DCloseWindow; PPTSld.document.oncontextmenu=3D_CM; } function EndShow() { if( IsFramesMode() ) return if( PPTSld.event ) PPTSld.event.cancelBubble=3Dtrue doc=3DPPTSld.document var dir =3D doc.body.dir if( dir !=3D "rtl" ) dir =3D "ltr"; doc.open() doc.writeln('


' + ENDSHOW_MESG + '

') doc.close() } function SetSldVisited(){ GetSldList().mList[gCurSld-1].mVisited=3Dtrue } function IsSldVisited(){ return GetSldList().mList[gCurSld-1].mVisited } function hrefList( sldHref, visible, advDelay, advClk ) { this.mSldHref=3D this.mNtsHref =3D sldHref this.mOrigVis=3D this.mVis =3D visible this.mVisited=3D false this.mAdvDelay=3D advDelay this.mAdvOnClk=3D advClk } function SldList(arr,curSld,fEnd) { this.mCurSld =3D curSld; this.mList =3D new Array(); var idx =3D 1; for(ii=3D0;ii 0) { PushSldList(sldList,fEnd); gCurSld =3D 1; } else if( PPTSld.event ) PPTSld.event.cancelBubble=3Dtrue } function PushSldList(arr,fEnd) { var ii =3D gSldStack.length; gSldStack[ii] =3D new SldList(arr,gCurSld,fEnd); GoToSld( gSldStack[ii].mList[0].mSldHref ); } function PopSldList() { if (gSldStack[gSldStack.length-1].fEndShow) EndShow() else { gCurSld =3D gSldStack[gSldStack.length-1].mCurSld; gSldStack[gSldStack.length-1] =3D null; gSldStack.length--; var sldList =3D gSldStack[gSldStack.length-1]; GoToSld( sldList.mList[gCurSld - 1].mSldHref ); } } var custShowList=3Dnew Array(); /********************************************* Navigation button implementation There are 2 types of buttons: ImgBtn, TxtBtn implemented as function objects. They share a similiar interface so the event handlers can call SetActive, for example, on a button=20 object without needing to know exactly=20 what type of button it is. **********************************************/ //---------------------------------- function ImgBtn( oId,bId,w,action ) //---------------------------------- { var t=3Dthis t.Perform =3D _IBP t.SetActive =3D _IBSetA t.SetInactive=3D _IBSetI t.SetPressed =3D _IBSetP t.SetDisabled=3D _IBSetD t.Enabled =3D _IBSetE t.ChangeIcon =3D null t.UserAction =3D action t.ChgState =3D _IBUI t.mObjId =3D oId t.mBorderId=3D bId t.mWidth =3D w t.mIsOn =3D t.mCurState =3D 0 } function _IBSetA() { if( this.mIsOn ) { obj=3Dthis.ChgState( gHiliteClr,gShadowClr,2 ) obj.style.posTop=3D0 } } function _IBSetI() { if( this.mIsOn ) { obj=3Dthis.ChgState( gFaceClr,gFaceClr,1 ) obj.style.posTop=3D0=20 } } function _IBSetP() { if( this.mIsOn ) { obj=3Dthis.ChgState( gShadowClr,gHiliteClr,2 ) obj.style.posLeft+=3D1; obj.style.posTop+=3D1 } } function _IBSetD() { =20 obj=3Dthis.ChgState( gFaceClr,gFaceClr,0 ) obj.style.posTop=3D0=20 } function _IBSetE( state ) { var t=3Dthis GetObj( t.mBorderId ).style.visibility=3D"visible" if( state !=3D t.mIsOn ) { t.mIsOn=3Dstate if( state ) t.SetInactive() else t.SetDisabled() } } function _IBP() { var t=3Dthis if( t.mIsOn ) { if( t.UserAction !=3D null ) t.UserAction() if( t.ChangeIcon ) { obj=3DGetObj(t.mObjId) if( t.ChangeIcon() ) obj.style.posLeft=3Dobj.style.posLeft+(t.mCurState-4)*t.mWidth else obj.style.posLeft=3Dobj.style.posLeft+(t.mCurState-0)*t.mWidth } t.SetActive() } =20 } function _IBUI( clr1,clr2,nextState ) { var t=3Dthis SetBorder( GetObj( t.mBorderId ),clr1,clr2 ) obj=3DGetObj( t.mObjId ) obj.style.posLeft=3Dobj.style.posLeft+(t.mCurState-nextState)*t.mWidth-obj= .style.posTop t.mCurState=3DnextState return obj } //----------------------------------------- function TxtBtn( oId,oeId,action,chkState ) //----------------------------------------- { var t=3Dthis t.Perform =3D _TBP t.SetActive =3D _TBSetA t.SetInactive=3D _TBSetI t.SetPressed =3D _TBSetP t.SetDisabled=3D _TBSetD t.SetEnabled =3D _TBSetE t.GetState =3D chkState t.UserAction =3D action t.ChgState =3D _TBUI t.mObjId =3D oId t.m_elementsId=3D oeId t.mIsOn =3D 1 } function _TBSetA() { var t=3Dthis if( t.mIsOn && !t.GetState() ) t.ChgState( gHiliteClr,gShadowClr,0,0 ) } function _TBSetI() { var t=3Dthis if( t.mIsOn && !t.GetState() ) t.ChgState( gFaceClr,gFaceClr,0,0 ) } function _TBSetP() { if( this.mIsOn ) this.ChgState( gShadowClr,gHiliteClr,1,1 ) } function _TBSetD() { =20 this.ChgState( gFaceClr,gFaceClr,0,0 ) this.mIsOn =3D 0 } function _TBSetE() { var t=3Dthis if( !t.GetState() ) t.ChgState( gFaceClr,gFaceClr,0,0 ) else t.ChgState( gShadowClr,gHiliteClr,1,1 ) t.mIsOn =3D 1 } function _TBP() { var t=3Dthis if( t.mIsOn ) {=20 if( t.UserAction !=3D null ) t.UserAction() if( !t.GetState ) return if( t.GetState() ) t.SetPressed() else t.SetActive() } =20 } function _TBUI( clr1,clr2,lOffset,tOffset ) { SetBorder( GetObj( this.mObjId ),clr1,clr2 ) Offset( GetObj( this.m_elementsId ),lOffset,tOffset ) } function Offset( obj, top, left ){ obj.style.top=3Dtop; obj.style.left=3Dle= ft } function SetBorder( obj, upperLeft, lowerRight ) { s=3Dobj.style; s.borderStyle =3D "solid" s.borderWidth =3D 1=20 s.borderLeftColor =3D s.borderTopColor =3D upperLeft s.borderBottomColor=3D s.borderRightColor =3D lowerRight } function GetBtnObj(){ return gBtnArr[window.event.srcElement.id] } function BtnOnOver(){ b=3DGetBtnObj(); if( b !=3D null ) b.SetActive() } function BtnOnDown(){ b=3DGetBtnObj(); if( b !=3D null ) b.SetPressed() } function BtnOnOut(){ b=3DGetBtnObj(); if( b !=3D null ) b.SetInactive() } function BtnOnUp() { b=3DGetBtnObj() if( b !=3D null ) b.Perform() else Upd() } function GetNtsState(){ return parent.gNtsOpen } function GetOtlState(){ return parent.gOtlOpen } function GetOtlTxtState(){ return parent.gOtlTxtExp } function NtsBtnSetFlag( fVal ) { s=3Ddocument.all.item( this.m_flagId ).style s.display=3D"none" if( fVal ) s.display=3D"" else s.display=3D"none" } function _BSetA_Border(){ b =3D gBtnArr[this.mObjId]; if( b !=3D null ) b.S= etActive() } function _BSetI_Border(){ b =3D gBtnArr[this.mObjId]; if( b !=3D null ) b.S= etInactive() } function _BSetP_Border(){ b =3D gBtnArr[this.mObjId]; if( b !=3D null ) b.S= etPressed() } function _BSetA_BorderImg() {=20 b =3D gBtnArr[this.mBorderId]=20 if( b !=3D null && this.mIsOn && !b.GetState() ) { obj=3Dthis.ChgState( gHiliteClr,gShadowClr,2 ) obj.style.posTop=3D0 } } function _BSetI_BorderImg() {=20 b =3D gBtnArr[this.mBorderId] if( b !=3D null && this.mIsOn && !b.GetState() ) { obj=3Dthis.ChgState( gFaceClr,gFaceClr,1 ) obj.style.posTop=3D0 } } var gHiliteClr=3D"THREEDHIGHLIGHT",gShadowClr=3D"THREEDSHADOW",gFaceClr=3D"= THREEDFACE" var gBtnArr =3D new Array() gBtnArr["nb_otl"] =3D new TxtBtn( "nb_otl","nb_otlElem",parent.ToggleOtlPan= e,GetOtlState ) gBtnArr["nb_otlElem"] =3D new TxtBtn( "nb_otl","nb_otlElem",parent.ToggleOt= lPane,GetOtlState ) gBtnArr["nb_nts"] =3D new ImgBtn( "nb_nts","nb_ntsBorder",10,parent.ToggleN= tsPane ) gBtnArr["nb_nts"].SetActive =3D _BSetA_BorderImg; gBtnArr["nb_nts"].SetInactive =3D _BSetI_BorderImg; gBtnArr["nb_ntsBorder"] =3D new TxtBtn( "nb_ntsBorder","nb_ntsElem",parent.= ToggleNtsPane,GetNtsState ) gBtnArr["nb_ntsElem"] =3D new TxtBtn( "nb_ntsBorder","nb_ntsElem",parent.To= ggleNtsPane,GetNtsState ) gBtnArr["nb_prevBorder"] =3D gBtnArr["nb_prev"]=3D new ImgBtn( "nb_prev","n= b_prevBorder",30,parent.GoToPrevSld ) gBtnArr["nb_nextBorder"] =3D gBtnArr["nb_next"]=3D new ImgBtn( "nb_next","n= b_nextBorder",30,parent.GoToNextSld ) gBtnArr["nb_sldshw"]=3D new ImgBtn( "nb_sldshw","nb_sldshwBorder",18,parent= .FullScreen ) gBtnArr["nb_sldshwBorder"] =3D new TxtBtn( "nb_sldshw","nb_sldshwBorder",pa= rent.FullScreen,null ) gBtnArr["nb_sldshwBorder"].SetActive =3D _BSetA_Border; gBtnArr["nb_sldshwBorder"].SetInactive =3D _BSetI_Border; gBtnArr["nb_sldshwText"] =3D new TxtBtn( "nb_sldshw","nb_sldshwText",parent= .FullScreen,null ) gBtnArr["nb_sldshwText"].SetActive =3D _BSetA_Border; gBtnArr["nb_sldshwText"].SetInactive =3D _BSetI_Border; gBtnArr["nb_voice"] =3D gBtnArr["nb_voiceBorder"] =3D new ImgBtn( "nb_voice= ","nb_voiceBorder",18,parent.ToggleVNarration ) gBtnArr["nb_otlTxtBorder"] =3D gBtnArr["nb_otlTxt"]=3D new ImgBtn( "nb_otlT= xt","nb_otlTxtBorder",23,parent.ToggleOtlText ) gBtnArr["nb_ntsBorder"].m_flagId=3D "nb_nts" gBtnArr["nb_ntsBorder"].SetFlag =3D NtsBtnSetFlag gBtnArr["nb_otlTxt"].ChangeIcon=3D GetOtlTxtState /********************************************* Context menu implementation _CM() is the function that's hooked up to the oncontextmenu event. Once we're asked to show the menu, we first build it by creating DIVs on-the-fly. Then we position it=20 within the screen area so it doesn't get clipped. Creating the DIVs using createElement() means we don't have to write out any extra HTML into the slide HTML files. **********************************************/ var sNext=3D"Next",sPrev=3D"Previous",sEnd=3D"End Show",sFont=3D"Arial",sAr= row=3D"Arrow",sFreeform=3D"Freeform",sRect=3D"Rectangle",sOval=3D"Oval" function ShowMenu() { BuildMenu(); var doc=3DPPTSld.document.body,x=3DPPTSld.event.clientX+doc.scrollLeft,y= =3DPPTSld.event.clientY+doc.scrollTop m =3D PPTSld.document.all.item("ctxtmenu") m.style.pixelLeft=3Dx if( (x+m.scrollWidth > doc.clientWidth)&&(x-m.scrollWidth > 0) ) m.style.pixelLeft=3Dx-m.scrollWidth m.style.pixelTop=3Dy if( (y+m.scrollHeight > doc.clientHeight)&&(y-m.scrollHeight > 0) ) m.style.pixelTop=3Dy-m.scrollHeight m.style.display=3D"" } function _CM() { if( !parent.IsFullScrMode() ) return; if(!PPTSld.event.ctrlKey) { ShowMenu() return false } else HideMenu() } function BuildMenu() { if( PPTSld.document.all.item("ctxtmenu") ) return var mObj=3DCreateItem( PPTSld.document.body ) mObj.id=3D"ctxtmenu" mObj.style.visibility=3D"hidden" var s=3DmObj.style s.position=3D"absolute" s.cursor=3D"default" s.width=3D"120px" SetCMBorder(mObj,"menu","black") var iObj=3DCreateItem( mObj ) SetCMBorder( iObj, "threedhighlight","threedshadow" ) iObj.style.padding=3D2 CreateMenuItem( iObj,sNext,M_GoNextSld,M_True ) CreateMenuItem( iObj,sPrev,M_GoPrevSld,M_HasPrevSld ) =09 CreateSeparator( iObj ) CreateMenuItem( iObj,sEnd,M_End,M_True ) mObj.style.visibility=3D"visible" } function Cancel() { window.event.cancelBubble=3Dtrue; window.event.returnVa= lue=3Dfalse } function Highlight() { ChangeClr("activecaption","threedhighlight") } function Deselect() { ChangeClr("threedface","menutext") } function Perform() { e=3DPPTSld.event.srcElement if( e.type=3D=3D"menuitem" && e.IsActive() ) e.Action() else PPTSld.event.cancelBubble=3Dtrue } function ChangeClr( bg,clr ) { e=3DPPTSld.event.srcElement if( e.type=3D=3D"menuitem" && e.IsActive() ) { e.style.backgroundColor=3Dbg e.style.color=3Dclr } } function M_HasPrevSld() { return( parent.HasPrevSld() ) } function M_GoNextSld() { if( gIsEndShow ) M_End(); else GoToNextSld() } function M_GoPrevSld() { if( gIsEndShow ) { gIsEndShow=3D0; history.back();= PPTSld.event.cancelBubble=3Dtrue; } else GoToPrevSld() } function M_True() { return true } function M_End() { window.close( self ) } function CreateMenuItem( node,text,action,eval ) { var e=3DCreateItem( node ) e.type=3D"menuitem" e.Action=3Daction e.IsActive=3Deval e.innerHTML=3Dtext if( !e.IsActive() ) e.style.color=3D"threedshadow" e.onclick=3DPerform e.onmouseover=3DHighlight e.onmouseout=3DDeselect s=3De.style; s.fontFamily=3DsFont s.fontSize=3D"9pt" s.paddingLeft=3D2 } function CreateSeparator( node ) { var sObj=3DCreateItem( node ) SetCMBorder(sObj,"menu","menu") var s=3DsObj.style s.borderTopColor=3D"threedshadow" s.borderBottomColor=3D"threedhighlight" s.height=3D1 s.fontSize=3D"0px" } function CreateItem( node ) { var elem=3DPPTSld.document.createElement("DIV") node.insertBefore( elem ) return elem } function SetCMBorder( o,ltClr,rbClr ) { var s=3Do.style s.backgroundColor=3D"menu" s.borderStyle=3D"solid" s.borderWidth=3D1 s.borderColor=3DltClr+" "+rbClr+" "+rbClr+" "+ltClr } ------=_NextPart_01C470CB.5DEC5D60 Content-Location: file:///C:/0D7C5513/Controlstructures_files/fullscreen.htm Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset="us-ascii" ------=_NextPart_01C470CB.5DEC5D60 Content-Location: file:///C:/0D7C5513/Controlstructures_files/buttons.gif Content-Transfer-Encoding: base64 Content-Type: image/gif R0lGODlhWAESAPf4AAAAAIAAAACAAICAAAAAgIAAgACAgICAgAQEBISEBASEBISEhAQEhMTExAQE /KTM9Pz8/ERERPz8BAT8/KSkpGRkhMTcxCRkxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAMDAwP8AAAD/AP//AAAA//8A/wD//////yH5BAEAAPgALAAAAABYARIA QAj/APEJHEiwoMGDCBMqXMiwocOHECNKnEixosWLGCEiQKCRo8YDIEHig2DxAD4LKD1avDDhgUuV GUOGbHBR5QGYFBG4fHAB58EKECJEwCfUYAWPFGAygLCRKQIIUKM6WAohKUGgCikcFWh1INWoYKVS 7SrQ41GbIhGYLAuVQVOoC+IyXUuUAkG1HE3KFDhAwkgJc5/qDZmxsOHDiBMrXsy4sePDGyP7lChT 5MULmDPnlDw5YmW6FTNrfgi0aNGEZPEtbfo2bNTUpYeeRph69dPWrqvCNFuBIGG1A59CYPAVQtwF cw0OxWdTIOiBCQAjaAB17fOFII8voGmRc+eOkilm/z9OvTtnjN4hYk1YoT3H2rnBOphPAB9skgq3 2lcaX/5YnJVt9BloAar12UEIRGCZdQghMABI1Tn32IQUVthYexhmqGGGMBHAgIfEhSiiiATAtOGJ GnYI4ogsEldicAYOGNJGZaml3Y0L3NTZUBz1xlB0PUoUI0jlVWRSVN89xBKSGB1YU1TMoRfVBEle hR9HQs1GEHxQ3RZZbveZthxt/LEmXHyp5XWABSCpaRJwbM13gAACPHVccgJFgF+NEhqUAEkQSCfc ddhVhh5dVTaEAEsTUNlkZUWKN9BNGDE6QU8OrSdbllzpxyVTTrU21Uj3scfhp7nNpyoDaTIEJ3P9 If8J2kbLNYegg9JRBwGhFvbq66+ZUiDssMQWK2yHxiZLrInKNotss8l+B5yBrr5p2UIJvortANoC 6+234IbLla/elRtZjeamh5CC3Sb0YLvixivvYkDFGlZqBNh7r4n6goVvv6/ZlCicN+kL71ALTnpQ dCIZp7CihkLA3UQmoWRBogyxtBPGCTnZncVR1rSTo5nuydC/Eo8kUH+lOoTyyvjoCuZu+PjYIKLD rZybtrM1d10C0QXKEVz48GrQkEeWdFJKlbb0UmEeV0SzyC6RvNB646LWIVjUNeC1zAFb+RDKXksM 9r531bwmpQW9+hQDDsx5pqwDRWBXcFES2hc+gEn/wJGdEEWdE6LoWcoxQweaTNmkhydkKaYMYY2Q p1unbLl/pPKbn3v7EZRvrKvqlja2ONvrtoIw9tn2g32/tQBlhtYkU+MNikZ7QYlPDPuMldpOmuJX nVo5VF3HjI+q89mteX5IDd/fVFClma5kiE4f2XUJhlz09gj2NbTDRifkmu7zXjR++RVJ/lPznuvr QH2iD6S+UewP9Dnon6d2NLwN8n90BB6hC68cFMCHoe+ACASP9c4DowUyEF0OPFcDI0ij/VXPaAKC UfhS95AKGoQ7IBRICI1HwhGaUIQoLGEKT6jCFrLwhSuMoQtlCMMZ2rCGOKShDm+4wxzy8Ic+DGIP B4cIRCKGMCAAOy== ------=_NextPart_01C470CB.5DEC5D60 Content-Location: file:///C:/0D7C5513/Controlstructures_files/frame.htm Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset="us-ascii" Control structures ------=_NextPart_01C470CB.5DEC5D60 Content-Location: file:///C:/0D7C5513/Controlstructures_files/outline.htm Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset="us-ascii"
 No= tes
Slide Show
Outline
------=_NextPart_01C470CB.5DEC5D60 Content-Location: file:///C:/0D7C5513/Controlstructures_files/filelist.xml Content-Transfer-Encoding: quoted-printable Content-Type: text/xml; charset="utf-8" ------=_NextPart_01C470CB.5DEC5D60--